home *** CD-ROM | disk | FTP | other *** search
- /*---------------------------------------------------------------
- XMODEM.C
- Header File
- (c) Copyright 1985 by Donald G Krantz
- All Rights Reserved
- ---------------------------------------------------------------*/
-
- #ifdef MAIN
- #define MODE /* global */
- #else
- #define MODE extern
- #endif
-
- /*---------------------------------------------------------------
- ASCII and XMODEM control characters
- ---------------------------------------------------------------*/
-
- #define SOH 1 /* start of header */
- #define EOT 4 /* end of transmission */
- #define ACK 6 /* true acknowledge */
- #define NAK 0x15 /* false acknowledge */
- #define CRC 'C' /* request CRC mode */
- #define CAN 0x18 /* cancel transmission */
- #define EoF 26 /* end of file (used for name) */
- #define BADNAME 0x75 /* received bad name checksum */
-
- /*---------------------------------------------------------------
- User accessable system equates
- ---------------------------------------------------------------*/
-
- #define RETRY 25 /* no. of retrys before abort */
- #define RECSIZE 128 /* transfer record size */
- #define NAMESIZE 11 /* filename fixed length */
- #define ERROR -1
- #define MAGIC_NUMBER 10000 /* time constant - machine dep. */
- #define VOID int /* function type */
- #define UPLOG "A:UPLOAD.LOG"
- #define DOWNLOG "A:DOWNLOAD.LOG"
- #define LOG_ON TRUE
-
- /*---------------------------------------------------------------
- Global variables
- ---------------------------------------------------------------*/
-
- MODE int option_speced; /* any options listed flag */
- MODE int t_r_mode; /* tx or rec requested flag */
- MODE int batch_request; /* batch mode requested flag */
- MODE int crc; /* CRC mode flag */
- MODE char msg[ 80 ]; /* message passing string */
- MODE FILE *fd; /* main file pointer */
- MODE char rx_spec[ 20 ]; /* rx filespec preamble */
- MODE char scr_name[ 50 ]; /* temporary string */
- MODE char buffer[ RECSIZE ]; /* record buffer */
- MODE unsigned rec; /* record number */
- MODE char checksum; /* checksum accumulator */
- MODE unsigned crcaccum; /* global crc bytes */
-
- /*----------------------------------------------------------------
- Function type declarations
- ----------------------------------------------------------------*/
-
- VOID txfile(), txname(), txrec(), parsopt(), do_usage();
- VOID rxname(), rxfile(), error(), clrcrc(), show_size();
- VOID lcl_str(), main(), lcl_char(), make_rxspec();
- VOID updcrc(), abort(), sleep(), tx();
- char *index(), *parse(), *unparse(), rx();
- int fillbuf(), wait(), rxstat(), txstat();
- FILE *make(), *fopen();
- long fseek();
-
- #if LOG_ON
- VOID log_xfr();
- int month(), day(), year();
- #endif
- , txstat();
- FILE *make(), *fopen();
- long fseek();
-
- #if LOG_ON
- VOID log_xfr();
- int month(), day(), yea